package cn.community.system.mapper;

import cn.community.system.domain.ActivityRecord;
import cn.community.system.query.ActivityRecordQuery;
import cn.community.system.query.QueryObject;
import cn.community.system.vo.ActivityVo;
import cn.community.system.vo.ActivityRecordVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ActivityRecordMapper {
    int deleteByPrimaryKey(Long id);

    int insert(ActivityRecord activityRecord);

    ActivityRecord selectByPrimaryKey(Long id);

    List<ActivityRecord> selectAll();

    int updateByPrimaryKey(ActivityRecord activityRecord);

    List<ActivityRecordVo> selectForList(QueryObject qo);

    List<ActivityRecordVo> selectForAssoList(QueryObject qo);

    List<ActivityRecordVo> selectForMemList(ActivityRecordQuery qo);

    void passOne(@Param("id") Long id, @Param("status")Integer status);

    void refuseOne(ActivityRecord activityRecord);

    ActivityRecordVo getVo(Long id);

    List<ActivityRecord> getByApplySuccess(Long id);

    ActivityRecord getByActivityIdAndMemId(@Param("activityId") Long activityId, @Param("applicantId") Long applicantId);

    void deleteByActivityId(Long id);
}
